﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x02000D11 RID: 3345
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class PlayerHeartBeatScRsp : IMessage<PlayerHeartBeatScRsp>, IMessage, IEquatable<PlayerHeartBeatScRsp>, IDeepCloneable<PlayerHeartBeatScRsp>, IBufferMessage
	{
		// Token: 0x17002A3E RID: 10814
		// (get) Token: 0x060095B8 RID: 38328 RVA: 0x0018E9CF File Offset: 0x0018CBCF
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<PlayerHeartBeatScRsp> Parser
		{
			get
			{
				return PlayerHeartBeatScRsp._parser;
			}
		}

		// Token: 0x17002A3F RID: 10815
		// (get) Token: 0x060095B9 RID: 38329 RVA: 0x0018E9D6 File Offset: 0x0018CBD6
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return PlayerHeartBeatScRspReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x17002A40 RID: 10816
		// (get) Token: 0x060095BA RID: 38330 RVA: 0x0018E9E8 File Offset: 0x0018CBE8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return PlayerHeartBeatScRsp.Descriptor;
			}
		}

		// Token: 0x060095BB RID: 38331 RVA: 0x0018E9EF File Offset: 0x0018CBEF
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public PlayerHeartBeatScRsp()
		{
		}

		// Token: 0x060095BC RID: 38332 RVA: 0x0018E9F8 File Offset: 0x0018CBF8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public PlayerHeartBeatScRsp(PlayerHeartBeatScRsp other) : this()
		{
			this.serverTimeMs_ = other.serverTimeMs_;
			this.clientTimeMs_ = other.clientTimeMs_;
			this.downloadData_ = ((other.downloadData_ != null) ? other.downloadData_.Clone() : null);
			this.retcode_ = other.retcode_;
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x060095BD RID: 38333 RVA: 0x0018EA5C File Offset: 0x0018CC5C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public PlayerHeartBeatScRsp Clone()
		{
			return new PlayerHeartBeatScRsp(this);
		}

		// Token: 0x17002A41 RID: 10817
		// (get) Token: 0x060095BE RID: 38334 RVA: 0x0018EA64 File Offset: 0x0018CC64
		// (set) Token: 0x060095BF RID: 38335 RVA: 0x0018EA6C File Offset: 0x0018CC6C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public ulong ServerTimeMs
		{
			get
			{
				return this.serverTimeMs_;
			}
			set
			{
				this.serverTimeMs_ = value;
			}
		}

		// Token: 0x17002A42 RID: 10818
		// (get) Token: 0x060095C0 RID: 38336 RVA: 0x0018EA75 File Offset: 0x0018CC75
		// (set) Token: 0x060095C1 RID: 38337 RVA: 0x0018EA7D File Offset: 0x0018CC7D
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public ulong ClientTimeMs
		{
			get
			{
				return this.clientTimeMs_;
			}
			set
			{
				this.clientTimeMs_ = value;
			}
		}

		// Token: 0x17002A43 RID: 10819
		// (get) Token: 0x060095C2 RID: 38338 RVA: 0x0018EA86 File Offset: 0x0018CC86
		// (set) Token: 0x060095C3 RID: 38339 RVA: 0x0018EA8E File Offset: 0x0018CC8E
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public ClientDownloadData DownloadData
		{
			get
			{
				return this.downloadData_;
			}
			set
			{
				this.downloadData_ = value;
			}
		}

		// Token: 0x17002A44 RID: 10820
		// (get) Token: 0x060095C4 RID: 38340 RVA: 0x0018EA97 File Offset: 0x0018CC97
		// (set) Token: 0x060095C5 RID: 38341 RVA: 0x0018EA9F File Offset: 0x0018CC9F
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint Retcode
		{
			get
			{
				return this.retcode_;
			}
			set
			{
				this.retcode_ = value;
			}
		}

		// Token: 0x060095C6 RID: 38342 RVA: 0x0018EAA8 File Offset: 0x0018CCA8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as PlayerHeartBeatScRsp);
		}

		// Token: 0x060095C7 RID: 38343 RVA: 0x0018EAB8 File Offset: 0x0018CCB8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(PlayerHeartBeatScRsp other)
		{
			return other != null && (other == this || (this.ServerTimeMs == other.ServerTimeMs && this.ClientTimeMs == other.ClientTimeMs && object.Equals(this.DownloadData, other.DownloadData) && this.Retcode == other.Retcode && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x060095C8 RID: 38344 RVA: 0x0018EB28 File Offset: 0x0018CD28
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.ServerTimeMs != 0UL)
			{
				num ^= this.ServerTimeMs.GetHashCode();
			}
			if (this.ClientTimeMs != 0UL)
			{
				num ^= this.ClientTimeMs.GetHashCode();
			}
			if (this.downloadData_ != null)
			{
				num ^= this.DownloadData.GetHashCode();
			}
			if (this.Retcode != 0U)
			{
				num ^= this.Retcode.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x060095C9 RID: 38345 RVA: 0x0018EBAF File Offset: 0x0018CDAF
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x060095CA RID: 38346 RVA: 0x0018EBB7 File Offset: 0x0018CDB7
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x060095CB RID: 38347 RVA: 0x0018EBC0 File Offset: 0x0018CDC0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.Retcode != 0U)
			{
				output.WriteRawTag(40);
				output.WriteUInt32(this.Retcode);
			}
			if (this.ClientTimeMs != 0UL)
			{
				output.WriteRawTag(80);
				output.WriteUInt64(this.ClientTimeMs);
			}
			if (this.ServerTimeMs != 0UL)
			{
				output.WriteRawTag(96);
				output.WriteUInt64(this.ServerTimeMs);
			}
			if (this.downloadData_ != null)
			{
				output.WriteRawTag(122);
				output.WriteMessage(this.DownloadData);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x060095CC RID: 38348 RVA: 0x0018EC54 File Offset: 0x0018CE54
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.ServerTimeMs != 0UL)
			{
				num += 1 + CodedOutputStream.ComputeUInt64Size(this.ServerTimeMs);
			}
			if (this.ClientTimeMs != 0UL)
			{
				num += 1 + CodedOutputStream.ComputeUInt64Size(this.ClientTimeMs);
			}
			if (this.downloadData_ != null)
			{
				num += 1 + CodedOutputStream.ComputeMessageSize(this.DownloadData);
			}
			if (this.Retcode != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.Retcode);
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x060095CD RID: 38349 RVA: 0x0018ECDC File Offset: 0x0018CEDC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(PlayerHeartBeatScRsp other)
		{
			if (other == null)
			{
				return;
			}
			if (other.ServerTimeMs != 0UL)
			{
				this.ServerTimeMs = other.ServerTimeMs;
			}
			if (other.ClientTimeMs != 0UL)
			{
				this.ClientTimeMs = other.ClientTimeMs;
			}
			if (other.downloadData_ != null)
			{
				if (this.downloadData_ == null)
				{
					this.DownloadData = new ClientDownloadData();
				}
				this.DownloadData.MergeFrom(other.DownloadData);
			}
			if (other.Retcode != 0U)
			{
				this.Retcode = other.Retcode;
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x060095CE RID: 38350 RVA: 0x0018ED6C File Offset: 0x0018CF6C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x060095CF RID: 38351 RVA: 0x0018ED78 File Offset: 0x0018CF78
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num <= 80U)
				{
					if (num == 40U)
					{
						this.Retcode = input.ReadUInt32();
						continue;
					}
					if (num == 80U)
					{
						this.ClientTimeMs = input.ReadUInt64();
						continue;
					}
				}
				else
				{
					if (num == 96U)
					{
						this.ServerTimeMs = input.ReadUInt64();
						continue;
					}
					if (num == 122U)
					{
						if (this.downloadData_ == null)
						{
							this.DownloadData = new ClientDownloadData();
						}
						input.ReadMessage(this.DownloadData);
						continue;
					}
				}
				this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
			}
		}

		// Token: 0x04003958 RID: 14680
		private static readonly MessageParser<PlayerHeartBeatScRsp> _parser = new MessageParser<PlayerHeartBeatScRsp>(() => new PlayerHeartBeatScRsp());

		// Token: 0x04003959 RID: 14681
		private UnknownFieldSet _unknownFields;

		// Token: 0x0400395A RID: 14682
		public const int ServerTimeMsFieldNumber = 12;

		// Token: 0x0400395B RID: 14683
		private ulong serverTimeMs_;

		// Token: 0x0400395C RID: 14684
		public const int ClientTimeMsFieldNumber = 10;

		// Token: 0x0400395D RID: 14685
		private ulong clientTimeMs_;

		// Token: 0x0400395E RID: 14686
		public const int DownloadDataFieldNumber = 15;

		// Token: 0x0400395F RID: 14687
		private ClientDownloadData downloadData_;

		// Token: 0x04003960 RID: 14688
		public const int RetcodeFieldNumber = 5;

		// Token: 0x04003961 RID: 14689
		private uint retcode_;
	}
}
